package Two;

class Person {
	
	private String name;
	private boolean gender;
	private int age;
	private int id;
	private static int nums;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public boolean isGender() {
		return gender;
	}
	public void setGender(boolean gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public static int getNums() {
		return nums;
	}
	public static void setNums(int nums) {
		Person.nums = nums;
	}
	@Override
		public String toString() {
			return "Person [name=" + name + ", age=" + age + ", gender=" + gender + ", id=" + id + "]";
		}
	public Person() {
		System.out.println("This is constructor");
		System.out.println(name + "," + age + "," + gender + "," + id);
	}

	public Person(String name, int age, boolean gender) {
		this.name = name; 
		this.age = age;
		this.gender = gender;
	}

	static {
		System.out.println("This is static initialization block");
	}
	
	{
		id = nums;
		System.out.println("This is initialization block, id is " + this.id);
		nums++;
	}
}
